/* $Id: MonitorInterface.java 101 2010-12-26 21:25:55Z altdotua@gmail.com $ */

package alt.djudge.frontend.server.models;

import java.util.List;
import alt.djudge.frontend.server.datatypes.ContestProblemEntry;
import alt.djudge.frontend.server.datatypes.ContestUserEntry;
import alt.djudge.frontend.server.datatypes.scores.ContestProblemScoreEntry;
import alt.djudge.frontend.server.datatypes.scores.ContestScoreEntry;
import alt.djudge.frontend.server.datatypes.scores.ContestUserScoreEntry;
import alt.djudge.frontend.server.datatypes.scores.ProblemUserScoreEntry;


public interface MonitorInterface
{
	public Long getContestTime();
	
	public Long getContestId();
	
	public ContestScoreEntry getContestScore();
	
	public List<ContestUserEntry> getUsers();
	
	public List<ContestProblemEntry> getProblems();
	
	public ContestUserScoreEntry getUserScore(Long userId);
	
	public ContestProblemScoreEntry getProblemScore(Long contestProblemId);
	
	public ProblemUserScoreEntry getProblemUserScore(Long contestProblemId, Long userId);
	
	public void sortACM();
	
	public void sortIOI();
	
	public void sort(MonitorType monitorType);
}
